package com.funo.main.dao;

import java.util.List;

import com.funo.common.pojo.QueryCondition;
import com.funo.main.entities.Org;

/**
 * 机构管理接口类
 * 
 * @author zhengjs
 *
 */
public interface OrgDao {

	/**
	 * 查询所有父类节点信息
	 * 
	 * @return 所有父类节点信息
	 */
	List<Org> getMenu();

	/**
	 * 查询对应父类的所有子节点信息
	 * 
	 * @param id 父节点id
	 * @return 对应父类的所有子节点信息
	 */
	List<Org> getMenu(String id);
	
	/**
	 * 分页显示所有模块信息
	 * 
	 * @param condition 查询条件集合
	 * @return 分页显示所有模块信息
	 */
	List<Org> pageList(QueryCondition condition);

	/**
	 * 查询机构信息的记录数
	 * 
	 * @param condition 查询条件集合
	 * @return 返回一个整型数字
	 */
	Integer count(QueryCondition condition);
	
	/**
	 * 查询机构信息
	 * 
	 * @param name 名称
	 * @return 机构信息
	 */
	Org getOrg(String name);
	
	/**
	 * 获取机构信息
	 * 
	 * @param id 主键ID
	 * @return 机构信息
	 */
	Org get(String id);
	
	/**
	 * 保存机构信息
	 * 
	 * @param org 机构表
	 */
	void save(Org org);
	
	/**
	 * 删除机构信息
	 * 
	 * @param id 主键ID
	 */
	void delete(String id);

	/**
	 * 修改机构信息
	 * 
	 * @param org 机构表
	 */
	void update(Org org);
	
	/**
	 * 根据机构名称和主键id，查询机构对象，用作修改查找重名。
	 * 
	 * @param name
	 * 		    名称
	 * @param id 
	 * 		  主键id
	 * @return 机构对象
	 */
	public Org findOrgByName(String name,String id);
}
